package Mediadores;

import BaseDeDatos.ManejadorBD;
import GUIs.GUI_Configuracion;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
 *
 * @author Tinacho
 */
public class Mediador_InformacionPista implements ActionListener{
    
    private Connection conexion = null;
    private GUI_Configuracion gui_Configuracion = null;
    
    public Mediador_InformacionPista(Connection c){
        this.conexion = c;
    }
    
    
    public void crearGui_Configuracion() throws SQLException{
        this.gui_Configuracion = new GUI_Configuracion();
        ManejadorBD  manejadorBD = new ManejadorBD(this.conexion);
        ResultSet infoPista = manejadorBD.obtenerDatosDePista();
        if(infoPista.next()){
            this.gui_Configuracion.rellenarJTF_Nombre(infoPista.getString("nombre"));
            this.gui_Configuracion.rellenarJTF_Ciudad(infoPista.getString("ciudad"));
            this.gui_Configuracion.rellenarJTF_Direccion(infoPista.getString("direccion"));
            this.gui_Configuracion.rellenarJTF_Telefono(infoPista.getString("telefono"));
        }
        this.gui_Configuracion.setActionListeners(this);
        this.gui_Configuracion.setVisible(true);
    }    
    
    
    //@Override
    public void actionPerformed(ActionEvent e) {
        if(this.gui_Configuracion != null && this.gui_Configuracion.obtenerJB_Guardar() == e.getSource()){
            tratarEventosConfiguracion();
        }        
    }
    
    
    private void tratarEventosConfiguracion(){
        String nombreP = this.gui_Configuracion.obtenerJTF_Nombre();
        if(nombreP.compareTo("") != 0){
            String ciudadP = this.gui_Configuracion.obtenerJTF_Ciudad();
            String direccionP = this.gui_Configuracion.obtenerJTF_Direccion();
            String telefonoP = this.gui_Configuracion.obtenerJTF_Telefono();
            try {
                ManejadorBD  manejadorBD = new ManejadorBD(this.conexion);
                if(nombreP.compareTo(manejadorBD.obtenerNombrePista()) != 0){
                    manejadorBD.insertarInformacionPista(nombreP, ciudadP, direccionP, telefonoP);
                    JOptionPane.showMessageDialog(null,"La información de la pista fué cargado en el sistema correctamente.", "Configuración satisfactoria", JOptionPane.INFORMATION_MESSAGE);
                }
            } catch (IOException ex) {
                this.gui_Configuracion.mostrarMensajeDeErrorIO();
            } catch (SQLException ex) {
                this.gui_Configuracion.mostrarMensajeDeErrorSQL();
            }
            this.gui_Configuracion.dispose();
        }
        else{
            this.gui_Configuracion.mostrarMensajeDeErrorCampoVacio();
        }
    }
    
}
